package com.yheriatovych.reductor.example.reductor.notelist;

import com.yheriatovych.reductor.Action;
import com.yheriatovych.reductor.annotations.ActionCreator;

/**
 * note action
 *
 * @since 2021-05-06
 */
@ActionCreator
public interface NotesActions {
    /**
     * 新增item
     */
    String ADD_ACTION = "ADD_ITEM";

    /**
     * 切换状态
     */
    String TOGGLE = "TOGGLE";

    /**
     * 移除item
     */
    String REMOVE_ITEM = "REMOVE_ITEM";

    /**
     * 添加_操作
     *
     * @param id
     * @param content
     * @return action
     */
    @ActionCreator.Action(NotesActions.ADD_ACTION)
    Action add(int id, String content);

    /**
     * 移除_操作
     *
     * @param id
     * @return action
     */
    @ActionCreator.Action(NotesActions.REMOVE_ITEM)
    Action remove(int id);

    /**
     * 切换_操作
     *
     * @param id
     * @return action
     */
    @ActionCreator.Action(NotesActions.TOGGLE)
    Action toggle(int id);
}
